package com.ff.discounts.activity

import com.ff.discounts.component.liteorm.LiteORMUtil
import com.ff.discounts.entity.response.BaseResponse
import com.ff.discounts.library.log.HiLog
import com.ff.discounts.model.BaseViewModel
import com.ff.discounts.superui.util.SuperDarkUtil
import com.qmuiteam.qmui.util.QMUIStatusBarHelper


/**
 * 通用逻辑 颜色背景等
 * @author: fufang
 * @date: 2023/10/16
 */
open class BaseLogicActivity : BseCommonActivity(){
  /**
  * 获取界面方法
  */
   protected val hostActivity: BaseLogicActivity
      protected  get() = this

    override fun initViews() {
        super.initViews()
        if(SuperDarkUtil.isDark(this)){
            // 状态栏白色
            QMUIStatusBarHelper.setStatusBarDarkMode(this)
        }else{
            // 状态栏文字黑色
            QMUIStatusBarHelper.setStatusBarLightMode(this)
        }
    }

    /**
    * 初始化通用ViewModel 逻辑
    */
    fun initViewModel(viewModel:BaseViewModel){
        // 关闭界面
        viewModel.finishPage.observe(this){
            finish()
        }

        //网络响应业务失败
        viewModel.response.observe(this) {
            onResponse(it)
        }
    }
    /**
    * 获取数据库管理器
    */
   protected  open fun getOrm():LiteORMUtil{
       return LiteORMUtil.getInstance(hostActivity)
   }
    open fun onResponse(data: BaseResponse) {
        HiLog.d(data)
//        when (data.status) {
//            401 -> {
//                R.string.error_not_auth.longToast()
//                AppContext.instance.logout()
//            }
//
//            403 -> {
//                R.string.error_not_permission.longToast()
//            }
//
//            404 -> {
//                R.string.error_not_found.longToast()
//            }
//        }
//        (data.message ?: getString(R.string.error_unknown)).longToast()
//        onError()
    }


}